

  $ . ./setup.sh
  $ cat > x.ml <<EOF
  > let v1: int = 2_147_483_647 (* max int *)
  > let v2: int = 2_147_483_648 (* overflow *)
  > let v3: int = 2_147_483_649 (* overflow *)
  > let v4: int = -2_147_483_647
  > let v5: int = -2_147_483_648 (* min int *)
  > let v6: int = -2_147_483_649 (* underflow *)
  > (* hex *)
  > let v7: int = 0xFFFF_FFFF (* -1 *)
  > let v8: int = -0xFFFF_FFFF (* 1 *)
  > let v9:int = 0x1_0000_0000 (* overflow *)
  > let v10:int = -0x1_0000_0000 (* underflow *)
  > EOF

  $ melc x.ml
  File "x.ml", line 2, characters 14-27:
  2 | let v2: int = 2_147_483_648 (* overflow *)
                    ^^^^^^^^^^^^^
  Warning 107 [melange-literal-int-overflow]: Integer literal exceeds the range of representable integers of type int
  
  File "x.ml", line 3, characters 14-27:
  3 | let v3: int = 2_147_483_649 (* overflow *)
                    ^^^^^^^^^^^^^
  Warning 107 [melange-literal-int-overflow]: Integer literal exceeds the range of representable integers of type int
  
  File "x.ml", line 6, characters 14-28:
  6 | let v6: int = -2_147_483_649 (* underflow *)
                    ^^^^^^^^^^^^^^
  Warning 107 [melange-literal-int-overflow]: Integer literal exceeds the range of representable integers of type int
  
  File "x.ml", line 10, characters 13-26:
  10 | let v9:int = 0x1_0000_0000 (* overflow *)
                    ^^^^^^^^^^^^^
  Warning 107 [melange-literal-int-overflow]: Integer literal exceeds the range of representable integers of type int
  
  File "x.ml", line 11, characters 14-28:
  11 | let v10:int = -0x1_0000_0000 (* underflow *)
                     ^^^^^^^^^^^^^^
  Warning 107 [melange-literal-int-overflow]: Integer literal exceeds the range of representable integers of type int
  // Generated by Melange
  'use strict';
  
  
  const v1 = 2147483647;
  
  const v2 = -2147483648;
  
  const v3 = -2147483647;
  
  const v4 = -2147483647;
  
  const v5 = -2147483648;
  
  const v6 = 2147483647;
  
  const v7 = -1;
  
  const v8 = 1;
  
  const v9 = 0;
  
  const v10 = 0;
  
  module.exports = {
    v1,
    v2,
    v3,
    v4,
    v5,
    v6,
    v7,
    v8,
    v9,
    v10,
  }
  /* No side effect */
